import Vue from 'vue'
import Vuex from 'vuex'

//安装 ：cnpm i vuex-persist --save-dev
import vuexPersist from "vuex-persist";
//引入 vuex 持久化插件

Vue.use(Vuex)

export default new Vuex.Store({
  //状态  就是数据的意思 相当于组件里的 data
  state: {
    list: [],
  },
  //方法  相当于是组件里的 methods ,可以在 mutation 里面操作 state
  //mutations 的第一个参数永远是state 后面是传来的参数
  mutations: {
    add(state, res) {
      state.list.push({
        id: state.list.length,
        text: res,
        ss: false,
      })
    },
    // 删除
    remove(state, id) {
      state.list.forEach((res, index) => {
        if (res.id == id) {
          state.list.splice(index, 1);
        }
      })
    }
  },
  //动作 执行异步操作 （axios，http） 请求数据
  actions: {},
  //模块 把 state 分模块管理
  modules: {},
  // 计算属性 相当于是组件里的  computed 可以计算 state ,得到一个新的值
  getters: {},
  //使用vuex持久化插件    plugin 就是插件的意思
  plugins: [
    new vuexPersist({
      storage: window.localStorage,
    }).plugin,
  ]
})